package com.swiftops.basic.sys.service;

import com.swiftops.common.core.PageResult;
import com.swiftops.basic.sys.vo.entity.SysMenuEntityVO;
import com.swiftops.basic.sys.vo.request.SysMenuRequestVO;
import com.swiftops.basic.sys.vo.response.SysMenuResponseVO;

/**
 * 菜单
 *
 * @author yangyang
 * @date 2023/09/17
 **/
public interface SysMenuService {

    /**
     * 获取菜单分页列表
     *
     * @param sysMenuRequestVO 查询条件
     * @return 返回菜单分页结果
     */
    PageResult<SysMenuResponseVO> querySysMenuPageList(SysMenuRequestVO sysMenuRequestVO);

    /**
     * 获取菜单详细信息
     *
     * @param id 菜单ID
     * @return 菜单
     */
    SysMenuEntityVO getSysMenuEntityVO(String id);

    /**
     * 新增菜单
     *
     * @param sysMenuEntityVO 菜单实体
     */
    void addSysMenu(SysMenuEntityVO sysMenuEntityVO);

    /**
     * 修改菜单
     *
     * @param sysMenuEntityVO 菜单实体
     */
    void updateSysMenu(SysMenuEntityVO sysMenuEntityVO);

    /**
     * @param id        主键
     * @param isUseable 启用状态
     */
    void useableSysMenu(String id, Boolean isUseable);
    /**
     * 删除菜单
     *
     * @param id 菜单ID
     */
    void deleteSysMenu(String id);
}
